home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1996 #15
/
Monster Media Number 15 (Monster Media)(July 1996).ISO
/
bbs_misc
/
kbbs20q.zip
/
UPDATES.DOC
< prev
Wrap
Text File
|
1996-04-02
|
113KB
|
3,055 lines
██ ██ ██████▄ ██████▄ ▄█████▄ ███████ ▄██████
██ ██ ██▄▄▄██ ██ ██ ██▄▄▄██ ▐█▌ ██▄▄▄▄
██ ██ ██▀▀▀▀ ██ ██ ██▀▀▀██ ▐█▌ ██▀▀▀▀
▀█████▀ ██ ██████▀ ██ ██ ▐█▌ ▀██████
A History of the changes made to KBBS, starting with version Z.1816
(C) Copyright 1995, 1996 Anderson Research
2.20Z.20p UPDATE releases
---------
(These updates may be downloaded by registered sysops by typing
UPDATE at the Megalopolis Downtown menu)
Internal compile number 30102:
(Note: Qcrasher v1.2 was released with this version)
SYSTEM
KBBS will now perform a memory block transfer benchmark test when
started up (it takes one tenth of a second), then it sets the
memory transfer block within KBBS's cache support to the optimum
size for maximum performance. This has improved the mail tossing
speed on the Megalopolis work nodes by 100%.
KSEARCH² IS NOW ONLINE
The second generation of super-fast search indexes is now a part
of KBBS. Ksearch² boasts the following features:
* Building the Ksearch² indexes is extremely fast-- as little
as 5% of the time that Ksearch used to take.
* Although a little slower (1 second to search instead of 0.1)
the new Ksearch² finds partial words instead of only complete
words. For example, "Game" will find Game, Games, Gamers,
Doorgame, etc. Even though the search is still so fast, we
added a spinning cursor to the search engine so the user
doesn't fall asleep during that 1 second wait.
* The Ksearch² indexes are a lot smaller on the disk than the
previous Ksearch indexes, so you'll save a little disk space
when you rebuild all of your indexes.
* The search keys are now highlighted in the file descriptions.
KBBS uses the "Item Highlight" color to highlight words
in the descriptions.
A fix was made to allow reasonable searches on single letter
words, such as "C" (the programming language). No partial
search is performed on single letter words.
FILE UTILITIES
The FILE_ID.DIZ updater that creates/updates the FILE_ID.DIZ
when you edit the description will now properly maintain the
archive date and update the file size info in the file record.
The ALT-V viewer will now view tagged files collectively if
requested. This makes it easier to look at multi-file
archives.
FILE AREA ONLINE
We think we have finally fixed the file display bugs so it will
display a full screen of files each time instead of more or less.
FTS
Got rid of duplicate file send bug in compile number 30091
Delete after send now working properly.
Problems in switching on/off TIC areas in FileFix is now
fixed, including the %list and %query options.
A new FTS User spreadsheet has been added to the Users menu
in the FTS module, making it a lot easier to scan through the
FTS users' settings and make changes.
MAIL
The personal mail reading bug(s) have been fixed (when it
tells you that you have personal mail, it doesn't skip over
it all now). Hopefully this fix will stick.
Internal compile number 29041:
FTS
A rebuilder has been made to rebuild and defragment FTS user
setup files, found in the FTS Menu's Rebuild menu.
FileFix should NOW be working properly to turn on/off the file
areas. Really. No, Really.
A major rewrite to the queuing system will now allow the Send
File operations to put files on hold. Mail will more reliably
be queued and poll events will more reliably send all files
intended for a destination.
SEQ ADDITIONS
A "Hold" option has been made to SENDFTSFILE. Here is the updated
documentation clip:
SENDFTSFILE( <address>, <priority>, <path>, <deleteafter>, <message> );
<address> is of type string, in a standard fidonet address
format of x:yyy/zzz, <path> is of type string. <priority> is
of type char:
"I" immediate
"C" crash (direct, economy time)
"H" hold
<deleteafter> is of type boolean: TRUE=delete the file after
a successful transmission. <message> is of type boolean: TRUE=
send a message header to the sysop of the remote system notifying
of the enclosed file(s).
Adds a SENDFILE command to the queue. If a queue entry already
exists to the above system, the sendfile is added to the
existing entry in order to combine dialout events.
Internal compile number 29033:
QWK/REP
A message left to @user@ (in upper case) will not crash a QWK
download now.
FTS
AREAFIX wasn't working in the last release of 20p-- it would
start out assuming the caller had a scrambled mess for a
conference configuration, make the toggles to those area,
then save them back. This is now fixed!
KBBS's "FileFix" compatible processor (named KBBSFile to not
infring on other authors' trademarks) will accept messages
to "Raid", "FileFix", "FileMgr" or "KBBSFile" Send one with
a message of %help and you'll get a help response a lot like
the Areafix help response.
Internal compile number 28901:
FILE AREA
A MAJOR rewrite of the ALT-Q quick change utility in the file
tree allows you to change every field and more than one field
at once. It also loads the tagged or highlighted record,
moves the files if you change the path, sets the file date,
updates new file indexes, etc. etc, making it the most
useful utility in the file tree.
You now must press F2 to edit the FILENAME field in the file
edit screen. This prevents accidental changing/erasing of
the filename.
QWK/REP
If an uploaded REP packet is rejected due to mismatched ID,
the rejection is now logged in the KBBS.LOG.
CONFERENCES
If the netmail conference messages are deleted, the netmail
pointer is automatically reset to 0.
SEQ FUNCTIONS/COMMANDS
PAGERON( <datetime> ) :boolean (function)
<datetime> is of type integer. This function returns
TRUE if the pager is scheduled to operate at the
specified date/time.
Internal compile number 28841:
FTS
NOTE: A COMPLETE rewrite of much of the FTS scanner and
FTS user setup forced us to stand back and test for
a day before we dared release this version so we
didn't mess up anyone's setups. We're pretty confident
that this version will upgrade without any hesitation
in your FTS operation.
Everything is working in FTS's TIC support except the
actual TIC hatching and FILEFIX which will be linked
in and posted in tomorrow's update.
The FTS user structure has been completely rewritten-- the
result is a MUCH faster setup picklist, unlimited future
expansion, and less memory demand.
The TIC area setup has been rewritten to a flat, non-sorted
number base for a lot faster tracking in the user records.
You'll notice that a number will appear to the left of each
of your TIC areas.
The TIC setup in the FTS user records is working.
Another field in the FTS User record allows sysops to force
public-only scanning in specified areas. This allows FTS
echoing of, for example, conference 0, without echoing the
private messages.
USER IMPORT
The Renegade import should now be working.
The Remote Access 2.xx import is now operational, although untested.
FILE AREA
The complete rebuild will now reposition the TIC, non-TIC and
inbound file subjects to the newly built tree.
The highlight bars will now be aligned properly after flagging
a file in the file tree.
DOORS
The "simulteneous nodes" field in the door setup will now limit
the number of nodes that can access the door (now functioning
as it's supposed to).
NEW SEQ VARIABLE
LASTKEY :string[20]
This variable reports the last key used in a menu process, whether
from a MENU() statement, a menu tree branching, the menu at the
bottom of a message, or the CHOOSEPROTO menu. The key held in
LASTKEY may be up to 20 characters.
Internal compile number 28794:
REP IMPORT
Some systems are further leaving the specs and producing .REP
packets with lower case ID's in the header... KBBS will now
read those.
Internal compile number 28793:
GENERAL
Some additional quirks in the interface have been fixed.
The special debugging code has been removed from this version,
so things ought to run quite a bit faster.
The SHOWFILE command will now display any text file specified
in the parameter.
FTS SUPPORT
One last problem has been fixed with the ALT-I import of NA/RA
files in the echomail area name setup.... it SHOULD WORK NOW.
The TIC area name has now been limited to 8 characters to
comply with the FTS official limitations-- so that other
TIC processors don't choke on KBBS .TIC files.
SEQ VARIABLES
ABORTDOOR :boolean
This is set to FALSE when the "Optional SEQ Before" is executed
before a door is executed. If the SEQ sets this variable to
TRUE, the door and "Optional SEQ After" will not be executed.
This is useful for sysops that wish to imposed execution
requirements prior to running the door.
2.20Z.20N Test release (internal compile number 28788)
---------
LOOK/FEEL
More changes have been made to make the interface more consistent
around the sysop utilties generally.
MULTITASKING/LOW LEVEL
Several additions and fixes to memory, thread and stack handling
have been made in this addition to make KBBS less memory hungry
and more reliable. This represents the majority of the work
for this release, although the actual modifications will not be
listed here.
The minimum number of concurrent threads will now be 7 instead
of 4. We have found that less than 7 creates too much of a
demand on the stack and crashes occur, and 7 will still run
pretty efficiently on systems with less than 500K of conventional
memory as long as there is EMS or XMS memory available.
The background events are now configurable individually in
the Setup, Nodes, Multitasker setup screen.
CONFERENCE ISSUES
The ALT-I in the QWK Network setup will now import from anywhere.
DOORS
The lockup when adding new doors has been fixed.
EVENTS
The event schedules will no longer fill up with empty schedule
times when you ALT-I to initialize them.
Other problems related to event execution have been fixed.
FTS SUPPORT
Due to the problems in getting this release out, TIC Hub support
will follow in the next release. (Booo hisss)
The ALT-I area import works now.
MENUS
In the menu tree, Dynamic menu settings, the "Use color settings
below" toggle was reversed... now fixed. If you're having some
strange problems with colors, look for this toggle and make sure
your colors are what you want them to be.
Some problems in the sysop utilities menus have been fixed.
RING DETECTION
More adjustments have been made for ring detection for RingMaster
and distinctive ring systems.
SEQ ISSUES
The REFRESHFILE() command now works properly.
NEW SEQ COMMANDS
WRITEFILELIST command Files
=======================================================
Purpose Creates a file list
Syntax WRITENEWFILELIST( <fileindex>,<handle>,<level>,<control>);
Remarks <fileindex> is of type filename, <handle> is a
variable of type integer, <level> is of type
byte, <control> is of type integer
Outputs a files list of the file index
<fileindex>, writing it to a text file, opened by
one of the OPENTEXT... commands using <handle>.
The files scanned are based on <level>-- only
subjects and files within those subjects that may
be accessed by the specified security level will
be listed.
<control> is bitmapped (32 bit) control variable
that will be used to turn on and off various
list features in a future version. In the
current edition, the list will be structured
as follows:
Files and subjects listed in the main (root) subject
┌─────────────────────────────────────────────┐
│ Subject header including description │
└─────────────────────────────────────────────┘
Files and [subjects] listed in the above subject
and so forth. Note that NO header is placed at the
beginning-- this is left up to the programmer.
No status is displayed while the file list is
being created.
Restrictions This command is ignored if the file <handle> is
not open and ready for writing.
See Also SCANNEWFILEDATE, SCANNEWFILES, WRITENEWFILELIST
2.20Z.20M Test release (internal compile number 28556)
---------
MEMORY/LOW LEVEL
... another test to see if lockup and slowdown problems that
existed on Hal Holland's machine are solved. They appear
to be solved here.
STACK checking has been enabled in this version, which slows
things down about 5% but will allow us to find out where
the stack crashing is occurring.
INTERFACE ISSUES
Major changes everywhere toward making the interface more
consistent. Now you have to press F10 everywhere to save
the screen, but you can also abort everything in case
you make a mistake.
In the "low cost dialing hours" and "pager schedule" the
Every Day option now displays correctly in the picklist.
It was displaying as Saturday.
INTERNODE
The indernode command SHUTDOWN _REALLY_ leaves the phone
off the hook now... (I know-- this has been listed as
fixed several times now, but I think we got it this time)
COMMUNICATIONS
We have switched the INIT and HANGUP code in the recycle
process for a more intelligent way to manage the modem
on recycle. (Gee... why didn't we think of this before...)
FTS ISSUES
The TIC importer now properly puts files OFFLINE as defined
in the setups.
The "Picture" bit will now be set properly in inbound TIC
files that aren't processed by the upload processor.
COMMAND LINE
The command line parameter, COMPILENODELISTS, will now work,
in addition to COMPILENODELIST.
2.20Z.20K Bug fix release (internal compile number 28438)
---------
PLEASE NOTE
We're soon going to go back to the daily UPGRADE versions
for registered sysops, so we're going to start using our
internal compile number. It will now appear at the top of
your ERROR.LOG, and will help us to know exactly which
version you are running.
FIXES
When running KBBSUTIL directly, the ALT-F1 and F1 (help) keys
work properly.
Event problems have been fixed. (Funny thing-- the problem
would only manifest itself during the first 7 days of the
month...)
The SHUTDOWN NODE internode command will now leave the phone
off hook if using the offhook option.
FTS fixes: echomail packets attached to netmail messages will
now be tossed properly, and non-echomail packets will be
attached properly and not processed into the misc file subject.
The TIC processor should now save and process incoming TIC's
safely regardless of the existance of paths defined in the
file subjects.
The problem of "Minimum Age" settings to 115 years in file
subjects has been solved...
2.20Z.20j test release
---------
WHAT IS NOT IN THIS RELEASE
After struggling this month with bugs, illness, family problems
and whatever else fate could dish out, we're just happy to
get this release out. We'll be doubling our efforts during
the month of February to get through the rest of the enormous
TODO list. The following were NOT included in this release,
although they are coded and ready to be added this coming week:
- support for Hubs and TIC files (right now it just processes
them, but you can't hatch them... this is on the top of the
list for Monday)
- KBBSMENU problem fixes
- RIP fixes
- some SEQ addition requests
LANGUAGE ISSUES
We ended up doing a last minute reconstruction of the way we
maintain setup files-- a major rewrite that forced us offline
for about 2 days due to being half-upgraded. We're now ready
to go through and add language/prompt editing support, which
should be part of the next release.
NEW KERNEL CODING
After bashing our heads over a file corruption problem for the
last week, we found the problem to be in the multitasking
kernel and had to do a major re-think and re-write of a
significant portion of that code. The benefits of this are
faster execution, faster virtual memory access, and one
additional step towards a 32 bit OS/2 and Win9x version.
This version should also run on systems with restricted
conventional memory.
With all of the hammering on this version over the last month,
we believe this version to be the most stable KBBS we've
released to date. Field testing will be the truthteller on
this one.
TICK FILE SUPPORT
BE SURE to go through all of the menus in the SETUP section of
the new KBBS Fido menu... you'll see a few additional options
that weren't there before. New documentation to support the
changes will be out shortly.
We have written and rewritten TICK support in KBBS so many times..
we have now come up with what we believe is the way to do this
effortlessly (on the part of the sysop) in KBBS.
* SETTING UP TIC SUPPORT in the KBBS Fidonet menu
1. Areas, TIC AREAS
Here you must define all of the TIC area names and the
file index and subject you in which files marked with
the specified TIC area are to be placed. You may also
define the fields used in the file index: Minimum Age,
Hidden if no access, Security Levels, online/offline
and whether or not to use the upload processor on
incoming files.
Currently, TIC files received without a password or
with an incorrect password are still placed in their
index/subject and placed offline.
2. Areas, UNDEFINED TICS
(also found in the Fidonet Setup menu)
This is similar to echomail's TRASHCAN--files with
unrecognized TIC area names are processed according
to these settings.
It is recommended that the sysop
deny access to these files until they can be
reviewed for content before placing them online for
general download.
3. Areas, INBOUND FILES
(also found in the Fidonet Setup menu)
This is for receiving non-TIC and non-mail files.
Previously these files were placed in a NEWFILES
directory, but are now placed in a selected file
index and subject. This setup is identical to the
Areas, UNDEFINED TICS above.
NOTE: receive only support in this test version
We have the code written for HUB .TIC support (hatching,
etc.) but were unable to resolve a few bugs prior to this
release. Documentation for the new Fidonet menu and a
complete Send/Receive TIC support will be released
shortly.
SYSOP UTILITIES
More restructuring has been done to the sysop utilities menu (this
will be an ongoing process until we arrive to something that
everyone likes).
The DOS SHELL, LOCAL LOGIN, PROGRAM and EVENTS are now all
activated by the ALT-F1 hotkey from ANYWHERE in the sysop menu!
Hence, they have all been removed from the main menu.
KBBSMENU AND HIGHLIGHT BARS
A bug that caused KBBSMENU to ignore a field with an @end@ at the
very end of a line has been fixed.
A bug that failed to read the grid rows/columns properly has been
fixed.
The highlight bar support has now been properly fixed to support
8 columns both dynamically and ANSI sysop defined.
USER AND SECURITY ISSUES
Remember the old Re-serialize utility that would make everyone
get their own mail on the next mailrun? That utility has been
upgraded to NOT force everyone to get their own mail by quickly
locating any dupe serial numbers in the user database and
assigning new numbers to just those only. It is now named "SERIAL
DUPE CHECK" and is found in the Users menu. This utility is
automatically executed when you upgrade to this version.
The error that occurred on some systems upon entry of the security
level setup has been fixed.
Security level changing based on ratios has been FIXED! (Really
has this time, folks) You now have control over whether or not
to force ratios, change levels based on ratios, or turn them off
completely. Specific data about the security level change will
now be logged so you can tell why KBBS changed the user's level.
COMPLETE REWRITE: Expiration date based security level changing
has been rewritten along with the ratio changing code, and it's
now completely functional and configurable. See the new
H2LEVEL2.ZIP documentation clip file for tech notes on how
the security levels work.
EVENTS, TIME AND SCHEDULES
In all of the "Click" type schedules (pager times, etc) a new
option "Every Day" has been added to the "Day" field, and the
time is now handled as start-stop rather than start-duration.
Events have been restructured to have multiple schedules per
event setup. A "Crash" zone may be defined for each schedule
so that if a system is down for a period of time without
running events, you have control over what events may still
execute at that later time.
Events will no longer cause lockups if the system date changes,
or lockups at midnight.
New event types:
* execution of SEQ programs
* rebuilding of Ksearch file index
LOW LEVEL ISSUES
To handle a file-open bug found in both Windows'95 and some
peer-to-peer networking software, we added special handling
for read-only files in these environments.
The Console Screen Editor has been fixed so it doesn't lockup
or do thousands of print-screens, etc. (The stack was
being relocated to the overlay buffer memory.)
If a compiled .SEQ is corrupt, KBBS will now tell you which
one, rather than just the location (i.e. SEQ Command Fault)
KBBS will now detect and handle personal mail waiting flag
problems (i.e. corrupted flags, duplicate conferences in
notifications, etc).
FILE AREA
A new key, ALT-Q, allows Quick changing of various fields in the
file records. You can now tag a bunch of files and change their
security levels, minimum age requirements, etc.
The ALT-T key while highlighted on the very last (blank) entry
in the current subject will no longer delete the last item in
the subject and put a blank file entry at the beginning.
The underscore, hyphen and apostrophe have been added to the
key sensitivity of Ksearch file indexes.
An age restriction field has been added to both file subjects
and files themselves. "Hidden if no access" has been added
to files. Because these are toggles that are most conveniently
set when the file is added to the system, the upload setup, TIC
area setup and file import screens all have these fields as well.
NOTE: this part still has some work left to go. For example,
in a file search, hidden/noaccess files aren't displayed, but
they are counted in the total files found.
Because of the new "Hidden if no access" toggle, files that
users cannot access will now show up in the new files search
if they don't have access to it and the toggle is set to
DISABLE.
Upload subject now has two sets of security fields: who may
upload to the subject itself, and what security is assigned
to files uploaded to that subject.
You may enable/disable the upload processor on an upload subject
level. This also applies to TIC file support.
FIDONET SUPPORT
A bug that caused all nodes to execute a single FTS queue event
has been fixed.
A command line parameter has been added to compile the
FTS nodelists: KBBS COMPILENODELISTS Type KBBS /? for
help on all command line parameters.
If a corrupt packet is handed to the message tosser, it won't
lockup anymore.
COLORS
A toggle "Use color settings below" has been added to the menu
tree "Menu" type, so the defaults may be used if desired.
COMMUNICATIONS
The hangup after recycle is a little more solid in this release.
SEQ ISSUES
The PACKETWAITING function is properly returning a BYTE result
of 0 if no packet is waiting to be received, and the number of
the sending node if a packet is waiting to be received. In all
of our tests this is now working as it's supposed to be.
(Note, the command originally returned a boolean result)
SEQ COMMAND AND FUNCTION ADDITIONS
GETMESSLINE( <linenum> ):string (function)
<linenum> is of type integer. This command retrieves
individual lines from the current message in the message
buffer. The first line is line 1. If <linenum> is
greater than the last line in the message, the global
status variable RESULT will be set to 1, otherwise
RESULT will be set to 0. The carriage return at the
end of each line (soft or hard) is not included in the
result.
DELETETEXT( <startline>, <endline> );
Both parameters are of type integer. This command deletes
the lines starting at line number <startline> up to and
including line number <endline>. If <startline> is greater
than <endline> then this command is ignored. The first
line in a message is considered line 1. If <endline> is
beyond the end of the message, the lines from <startline>
to the end of the message will be deleted.
(see INSERTTEXT for a command to insert text into a message)
REFRESHFILE( <index>, <filename> );
<index> and <filename> are of any string type. This command
performs the same function as ALT-R in the file utilities--
it reads the current information about the file <filename>
in the file index <index>, updating the file size and date
in the file index. It also updates the description using
the FILE_ID.DIZ or DESC.SDI within the file if it is an
archive and such a file is contained within. Also, if any
information changed about the file, the posted date is
changed to the current date and time, and the the new-file
indexes are updated. A value of 1 is returned in the
global status variable RESULT if the specified file is
not found in the specified index, otherwise RESULT is 0.
2.20Z.20i test release
---------
NOTE FOR TESTERS: The way color configuration worked in earlier versions
of 20H has been changed. A new DEFAULT COLOR SETTINGS
has been added in Setup, Global that define the colors
for the whole system, and a toggle in each menu
selection defines whether to use the default or
additional definitions in that selection. If you
were running an earlier version of 20H, this change
will appear to have reverted your color changes back
to default. Simple go into the menu tree and toggle
on the "Use below colors" toggle.
IMPORTANT LOW LEVEL STUFF
The program launcher has been enhanced to give you more control
over the amount of memory your programs require. The defaults
everywhere are ALL memory, forcing KBBS to swap out and make
available all conventional memory. You can now reduce this
requirement for some programs that don't need it, which reduces
the swapper resource requirements and shortens the time it takes
to execute a program. An example of this is PKZIP and PKUNZIP
which only use less than 200K if you have enough EMS/XMS memory,
making a swap/allocation of the full 610K a waste of time.
A new executable has been added, KBBSLOOP.EXE, that handles the
dispatching from one module to the next, rather than the big
modules having to swap themselves out to pass back and forth.
This should result in less swapping time and sizes and give
KBBS more memory to work with. This also elininated the benefit
of having separate KBBSFIDO and KBBSFILE modules, so those are
not integrated back into the old KBBSEXEC and KBBSUTIL sets.
Recycle time should now be reduced because we have moved
some of the recycle code into the KBBSLOOP module.
... update on this... we found we were creating a huge swap
memory overhead problem by putting ALL of the startup code
into KBBSLOOP. We're now compromising and although the recycle
will be a little slower, the overall speed of the system should
increase.
MESSAGE EDITOR/VIEWER
The color scheme for the message reader and editors is now definable
in the Default Color Setup in Setup, Global. There is also a
MESSPALETTE command, see below.
Fixes to color inconsistency bugs in 20H are in this version.
@ control codes are no longer converted while in the editor (it
was impossible to edit before).
EDIT SCREENS AND FIELDS
The color scheme for the edit screens and fields is now defined
in the Default Color Setup in Setup, Global. There is also an
EDITPALETTE command, see below.
SUBJECT TREES
The conference letter/number issue has been fixed.
Starting with the files section and then the rest of the subject
tree lists, we have completely revamped the color displaying
process to allow sysops to choose the color scheme completely.
The color schemes are configured in the menu tree editor and
with the LISTPALETTE command.
Some bugs that caused the file tree to not fill the entire screen
with subjects have been fixed.
AT control codes will now work in tree subject (all), conference and
door descriptions.
FIDO SUPPORT
The ALT-I (import RA/NA file) will now properly add the host address
and tag chosen for adding conference names.
The long conference name/description in the RA/NA is now used for
the long conference name in conferences created by the ALT-I
import function.
A new indexing method is being used for the nodelist compiler, so
you should recompile your nodelists when upgrading to this version.
We have extended the detection wait time when receiving a call
in order to respond to slower connecting modems. We WERE going
to make the time a field in the modem setup but scrapped that
for now.
The toggle in the FTS user record that "combines packets" was
disabled for the wrong state of the .PKT toggle. Fixed.
The Enter Netmail option in the KBBSFido menu now saves the
message as a normal message in the netmail conference which
adds the "Normal" (routed) mail option and eliminates the
truncated PKT problem Leonard is having (we HOPE). What seems
like a simple fix ended up being a major rewrite to the KBBSFido
structure, although not visibly different from before.
The outbound dialer should now detect a BUSY more quickly.
MENUS
ANSI Highlight bar menus have been expanded to handle 8 columns of
menu items instead of 4. The limit of rows is still 18.
A new utility, KBBSMENU, can now be used to define the bars in an
ANSI menu display file. See KBBSMENU.DOC for more information.
Lots of minor fixes to the menus not listed here.
A new field has been added to the menu tree to keep KBBS from
clearing the screen before displaying the dynamic menu, allowing
the option of special effects. This corresponds with the new
NOCLS variable for use with the MENU() command.
QWK IMPORT UTILITY
The QWK import utility for setting up QWK/REP Networks is now
accessed by pressing ALT-I while in the mapping setup.
All bugs have been fixed in that area also, and major
improvements to the speed of its operation now make it useful.
Host conference name changes are now shown flashing in the picklist
to make changing your mappings and conference names a breeze.
FIXES AND ADDITIONS
Another minor problem would cause a lost byte occasionally in
the display file output routines... this has been fixed (this
related to J.Scurran's RELNEWS.BBS sample with the color that
wouldn't change to #8 properly).
Time should now count down properly while users are in doors.
KSearch indexes now contain the names of the files.
Another minor rewrite to the outbound dialer should solve any
remaining connect problems with some modems.
Time shelled to an external program is no longer considered
"idle" time by KBBS so that the user is kicked off immediate
upon return.
SEARCHBACKWARD and SEARCHFORWARD are now working properly and
will search for text in messages. The SEQ set released with Z.21
will contain a MESSHEAD.SEQ that implements these commands.
Execution of LOGOFF.SEQ will now leave the LASTCALL variable
alone instead of setting it to a random or 0 value.
The toggle in the door setup for "Ignore Errorlevel" was reversed
and is now working properly. (i.e. Yes was actually No and vice
versa)
Highlight bar selections using the HOME and END keys wouldn't
really be selected, now working right.
The editor in the SEQ programming section will no longer stop on
the error in column 65,000 or something like that.
The Ksearch logic has been fixed so that when the first component
of an AND results in no files found, the result is properly ANDed
with the remaining components to result in 0 files (previously it
would ignore it).
SEQ FIXES AND CHANGES
The EDITMESSAGE command will NOW edit the message in the current
message buffer. A new EDITMSG.SEQ has been included with the
full release and upgrade that reflect this addition.
The READKEY and KEYPRESSED function now return a value in RESULT
that specifies the source of the keypress:
0: none pressed (for Keypressed)
1: from Caller (across the modem)
2: from Console (the sysop keyboard)
If a key is simulteneously pressed on the console and remote,
priority is given to the keypress on the sysop console.
Integer operations that would normally overflow the math
co-processor's stack and result in an error 209 will now function
properly (referring to Joshua Scurran's report of X:=BYTESLEFT*1024
when BYTESLEFT is a very high number).
NEW SEQ VARIABLES
NOCLS :boolean
If FALSE, KBBS will send a Clear Screen before displaying an ANSI
mode dynamic menu. If TRUE, KBBS will display the menu over the
top of whatever is currently on the screen. This corresponds to
the new field in the Menu Tree.
USERLOGINSOUND :integer
Returns the login sound defined in the user record
LOGINSOUND: integer
Returns the login sound defined for the current security level
PAGEDURATION: integer
Defines the pager duration for the remainder of the current
session. Always set to 30 on startup of KBBS or when a user
record is loaded (using one of the LOGIN types or LOADUSER/
NEXTUSER). The range is 0 to 9999 in seconds. This variable
may not be used in edit fields since no direct pointer to
this variable exists.
NEW SEQ COMMANDS/FUNCTIONS
SETNODESTATUS( <status>, <chatavail> );
<status> is a string, <chatavail> is of type boolean
This sets the current node status string to <Status>. Set
<chatavail> to TRUE if the user is able to chat, or FALSE
during operations that would be interrupted by a chat request.
MENUPALETTE...
(See the syntax of this command below)
All 0-7 values will now accept 0 to 15. Values 8-15 denote
blinking attributes of the related foreground.
EDITPALETTE( <c1>, <c2>, ... <c14>, <c15>, <c16> );
All 16 parameters are of type byte.
NOTE: all 16 parameters are required!
This command changes the color scheme used by all subsequent
edit screens and fields. Unlike the MENUPALETTE command,
all parameters in EDITPALETTE are in pairs of foreground
and background. If a background parameter is above 7, the
foreground will be in blinking mode. Parameter 15 defines
the character used in the background filler. Parameter
16 is ignored but required.
Foregr/
Backgr
1/2= Background filler
3/4= Title text
5/6= Normal text
7/8= Other text
9/10= Help text
11/12= Inactive field text
13/14= Active field text
15= ASCII number for background filler character
16= reserved
LISTPALETTE( <c1>, <c2>, ... <c32> );
All 32 parameters are of type byte.
NOTE: all 32 parameters are required!
This command changes the color scheme used by all subsequent
subject trees. This includes the Files, Conferences, Bulletins,
Doors, ConferenceList (brief names) and other future areas.
Unlike the MENUPALETTE command, all parameters in LISTPALETTE
are in pairs of foreground and background. If a background
parameter is above 7, the foreground will be in blinking mode.
Foregr/
Backgr FILE SECTION BULLETINS CONF TREE DOORS
1/2= Title/ancestors (same) (same) (same)
3/4= Current subject (same) (same) (same)
5/6= Defaults/Separator (same) (same) (same)
7/8= Subject Selector (same) (same) (same)
9/10= Subject Text (same) (same) (same)
11/12= Subject Description (same) (same) (same)
13/14= File Selector Bull Slctr Conf Slctr Door Slctr
15/16= File name Bull Name Conf Name Door Name
17/18= File Size n/a n/a n/a
19/20= File Date n/a n/a n/a
21/22= File Desc, line 1 n/a Conf desc Door desc
23/24= File Desc, others n/a n/a n/a
25/26= Offline/free info n/a Co-sysop Mode info
27/28= Subject highlight (same) (same) (same)
29/30= File highlight Bull Hilt Conf hilt Door hilt
31/32= File other info n/a n/a n/a
MESSPALETTE( <c1>, <c2>, ... <c32> );
All 32 parameters are of type byte.
NOTE: all 32 parameters are required!
This command changes the color scheme used by all subsequent
message reading and editing.
Foregr/
Backgr
1/2= Date label
3/4= Date
5/6= Time
7/8= Pvt/Ech/Rcd (message flags)
9/10= From Label
11/12= From name
13/14= To label
15/16= To name
17/18= Subject Label
19/20= Subject text
21/22= Conf/Reply labels
23/24= Conference name
25/26= Conference numbers
27/28= Separator bar/default colors
29/30= Normal text
31/32= Quoted text
2.00Z.20G Test release
---------
NEW ZMODEM
We had completely rebuilt the Zmodem protocol (again) and this one
does quite a lot better than any previous version:
- It keeps trying until it succeeds, no matter how bad line
conditions get, unlike the previous version that aborted easily
- We're attempting to emulate Moby, making transfers between two
KBBS systems pretty quick.
- True multi-thread operation separate disk reading from
communications so that less CPU overhead is being used during
transfers.
- This Zmodem has improved the reliability of FTS support QUITE a bit
- Procomm batch information is sent in the Zmodem file headers
TWITT FILTERING
The NET import QWK twit filter is still intact, and a new global
import twit filter had been added to Trees, Conferences that filters
the following message import processes:
1. REP Uploads from users
2. Inbound fidonet echomail packets
3. Net QWK imports (in addition to the current Net import filter)
Unlike the NET import QWK import twit filter that allows sysops to
lockout subjects, the global twit filter only locks out messages
FROM the users listed in the filter.
Note: although KBBS will handle several hundred twits in this list
with no problem, a large number in this list will slow down import
processes because of the additional task of comparing the FROM name
in imported messages with entries in the list.
CHAT LOGGING
While chatting, CTRL-HOME will toggle Chat Logging on and off,
defaulting to OFF when entering chat. A CHAT.LOG will be
created in the KBBS directory and chat text will be appended.
Also while in a chat, ALT-F1 will now shell to DOS locally.
CONTROL CODES
We've completely rewritten the control (@, Pipe and Heart) code
processor to replace the previous buggy one. This one has no
limit to line lengths (the number of codes you can squeeze
on a single line) and is much faster.
PROGRAM EDITOR/COMPILER
The menu hotkeys (such as F6, ALT-0, etc) will leave the contents
of the current line alone (was erased/reverted before).
The "Save As" option now presents the current filename for alteration
rather than garbage characters.
A bug reported by Joshua Scurran that caused the compiler to
overlook a syntax error in a program has now been fixed.
DOORS
A toggle has been added to the door setup to make KBBS ignore
the DOS ERRORLEVEL result when returning from executing the door.
We have found that some doors on some systems return a non-zero
result regardless of the successful execution of the door.
FTS
The FTS.LOG logging has been shortened (a lot of debugging stuff
removed for items that we know are working now).
The WAZOO ONLY mode dialout/poll is now working.
If KBBS in unable to dearchive a packet, it is now moved to the
bad packet directory instead of deleted.
The nodelist viewer has been given some additional cache memory so
it displays a bit faster when browsing up and down in the picklist.
Because of a bug in OS/2's FINDFIRST and FINDNEXT DOS interrupt
commands, sometimes a packet would be send with no header... this
has (hopefully) been fixed.
NET STATUS
Net status toggles are now found in the Security level setup as well
as the user's individual records. This allows a sysop to grant an
entire security level Net status in a set of conferences. The logic
used is A user has net status in a conference IF a user has individual
Net status OR his/her security level has net status.
*** WHAT IS NET STATUS?
Net status grants a user "sysop" access to a conference, enabling
that user to (1) read private mail and (2) post messages that
aren't FROM himself/herself. In essence, the user becomes a
co-sysop in any conference in which he/she has net status. The
primary purpose of net status is in QWK/REP mail networks. You
must grant net status to sysops that wish to use QWK/REP mail to
echo conferences from your system, or they won't be able to read
and save messages to/from users on their own BBS.
FILE UTILITIES
The upload processor will now properly handle non-archives.
It no longer runs out of file handles while editing descriptions.
Files accidentally left open that caused the complete rebuild to
crash if you previously edited a description just before you
perform the rebuild are now being closed properly.
When you type a name while in the file tree, and that file isn't
located in the tree, it asks you if you want to add that file...
if you answered "yes" the actual index record added was filled
with garbage... this has been fixed.
A temporary directory with a FILE_ID.DIZ was left behind every
time KBBS updated the .DIZ in a file (after editing the description).
A bug that occurred only rarely that would corrupt subjects when
moving mass numbers of tagged files has been fixed.
When KBBS adds a FILE_ID.DIZ description file to an archive, the
date/time is now set to match the date/time of the archive.
The message saved to the sysop when an upload is performed now
displayes the correct file size and date information and is saved
to the proper sysop alias or real name.
SEQ COMMANDS/COMPILER
The WRITETEXT and WRITETEXTCH commands were altered in 20F to
replace the @ codes... this caused several SEQ programs to
misfunction, so this has been reverted back to its original
state of not replacing the codes... sorry about that everyone.
The F5 key in the SEQ fields will now edit a SEQ properly.
OTHER FIXES/CHANGES
KBBS will no longer cause a "Insert disk for drive B and press
ENTER" problem on single drive systems (more testing will prove
this).
A bug caused a misread of an ANSI mode toggle and would strip
ANSI from some outgoing QWK messages.... fixed.
The LASTCALL variable and user data is now updated properly.
The text editor window everywhere in the utilities (except the
program editor, which is separate) now uses F10 or ALT-X to
Save/Exit. The ESCAPE key will give you the option of Save/Exit,
Abort without saving, or return to edit.
On some Win95 configurations, the DCDSTATUS line sometimes reports
an OFF status when there is in fact a carrier present. KBBS now
polls the line up to 10 times if an OFF status is reported to make
sure it's getting the correct message.
Instead of a CLEAR SCREEN, KBBS now outputs a HOME CURSOR for just
the ANSI highlight bar menus. Dynamic menus still clear the screen,
although we're going to add an option later to do otherwise for
special effects (?? is this needed?).
The FTS tosser will now unlock all files between packets to keep
from holding the Netmail conference locked during long tossing jobs.
Logging to the KBBS.LOG for local mode sessions has been fixed.
Support for COM interrupts 8 through 15 has been added.
The ^K and ^Q keys in the program editor will now display the
signal properly in the upper left corner of the current window.
The colors have also been fixed in the editor to not change when
typing within a block.
All picklists will now delay sorting until after exiting the list,
and the sort algorithm is now cached to speed up the sorting
process by 250%
The sort process is now performed in protected mode and doesn't
use the stack, so no more stack errors should result from large
sort processes.
The dialout process detects and reestablishes the carrier speed
and error correction variables and leaves the buffer clear for
the next process.
The DIAL command used in the callback verifier now leaves the
buffers clear upon return to the BBS.
The import users utility (both KBBS and non-KBBS) will successfully
import and index the names properly.
Some adjustments made to the distinctive ring detection.
2.00Z.20F Test release
---------
DOS SHELL
FINALLY we have found the culprit causing the DOS Shell to engage
so often when escaping out of things... simply an uninitialized
register, but a TOUGH one to find.
QWK/REP
The problem/crash with uploading .REP packets with control
messages has been fixed... nothing like trying to push 196K of
data onto a 32K stack.
FILE AREA AND UTILITIES
The "Complete Rebuild" has itself been rewritten and put back in the
file index repair menu. It's SAFE, it's THOROUGH, and we highly
recommend you backup your files and run it as soon as you get
this release. This rebuilder fixes most all index structure
problems, and the new utilities are stable enough to keep them
fixed.
In the Tree Editor of the file utilities, the ALT-P key now initiates
the new Utility Upload Processor that reprocesses the current file
or tagged files as if uploaded.
The ALT-W (Tag Multiple) and ALT-A (Tag All) have been repaired so
that utilities that act on these tagged batches don't corrupt the
subject structure.
The tag-and-delete function now works (more testing will prove this).
A whole new menu for the file utilities to eliminate some confusion
as we start adding a lot more features to the menus.
Deleting files from the file tree will now REALLY delete the file
from the name and new file indexes.
In the file tree, the "Offline" "Free" and "Resolution" messages
now follow the descriptions.
The correct status is now passed back to KBBS after external
protocol transfers.
UPLOAD PROCESSOR
OKAY! Major upgrade of the upload processor, reflecting at least
a month of work. Read this section carefully.
Two items from the old upload processor setup are still being
used, and are found in Setup, Global, Global Toggles:
- Whether or not the user has to enter the name prior to upload
- The default archive extension on your system, now only used
in searching for a name in the file section when a user tries
to flag a file without specifying the extension.
The UPLOAD REP function will now assume that all files uploaded
during that function are indeed .REP files, regardless of their
actual name(s). More than one .REP file may be uploaded at once,
and all are processed offline if the "(G)oodbye after transfer"
option is selected. Subsequently, the regular upload function
will NOT import a .REP file into the message base, but will
process it as a normal file and place it in the appropriate
upload path.
The file utilities menu has been broken away from the main
utilities menu to make it more readable, since we're going to
be adding dozens of options to the menu(s) over the next couple
of weeks.
Because of the configurability of the new upload processor, the
"Allowed upload extensions" picklist has been eliminated.
The upload processor setup is now defined separately for each
file index, and has three parts to it:
UPLOAD SUBJECTS
Just like before, except now the "complete rebuild"
doesn't erase them!
GENERAL PROCESSOR
This is the general setup for processing uploaded files.
There are LOT of new options... just keep an eye on the
help window below and it's all pretty self-explanatory.
CUSTOMER PROCESSOR
This is a picklist of GENERAL PROCESSOR screens, where you
can define a completely different processing method for
different matching file masks. If an uploaded file doesn't
match any of the masks in this picklist, the GENERAL
PROCESSOR settings are used.
The upload processor only operates in ASCII and ANSI modes. A
RIP mode processor will come later. Two new @ control codes have
been added for customizing the new ULPROC display screens to
the sysop's liking:
(these @ codes should be uppercase when used, shown here in lower
case for ease of e-mail transmission)
@ulprocname@ The current filename being processed, changed to
the new name of the file if renamed by the upload
processor.
@ulprocstat@ The upload processor error status message, such
as "Too many duplicates" etc.
The ASCII screen (ULPROC.BBS) or non-highlight bar ANSI screen
(ULPROC.ANS) is displayed only once at the startup of the upload
processor, then status messages are shown on subsequent lines as
files are processed.
If the ANSI screen (ULPROC.ANS) contains highlight bar control codes,
it is redisplayed for each file before processing, and may be
structured similar to the highlight bar ANSI menus to highlight
different status messages during the processor operation. The
ULPROC.ANS screen operates differently in that more than one option
may be highlighted at one time. The "Key" field is used to denote
which message belongs to which status.
One other important difference in the way the highlight bars work is
the ULPROC.ANS screen's highlight bars are displayed WITHOUT stripping
the ANSI codes in the bar text itself. This allows ANSI modification
of the highlight color to create special effects. (See example)
The highlight bar control codes for the upload processor ANSI screen
are as follows:
@00bf~##@ 1. Normal Menu Text goes here @end@
00 = these two digits are ignored, since there is no row/column
organization in the ULPROC.ANS screen(s).
## = the current stage of operation, two digits as follows:
01= Examining file
02= Dearchiving a file
03= Working on embedded archives
04= Running external process (any of them)
05= Running external process 1
06= Running external process 2
07= Running external process 3
08= Running external process 4
09= Running external process 5
0A= Scanning for viruses
0B= checking for duplicates
0C= adding archive comment
0D= getting archive description
0E= Running external process 6
0F= rearchiving file
10= Cleaning up temporary files
11= Moving archive to upload directory
FE= done, failed
FF= done, passed
B = the highlight bar background color, 0 through 9 and
A through F
F = the highlight bar foreground color, 0 through 9 and
A through F
AT CODE FORCED LENGTH
For normal @ control codes (not color or highlight bar codes) a
colon and number may be added to the end inside of the code to
force a specific length result. For example (using lower case
so this may be posted in netmail), "@user:20@" would return
"Keith Anderson " (20 characters total) if the current
caller's name is Keith Anderson.
SYSOP DEFINED FLAGS
They have finally been removed to make room for the sysop defined
database fields that we started linking in today and should be a
reality within a day or so.
FTS
The command line parameter KBBS TOSS will now work without lockup.
To satisfy those that complain because there are different
keystrokes to access the FTS functions than before, the MAILER
menu will now automatically be selected upon entry to the KBBS
Fido utility menu.
In the TIC area setup, it really DOES default to the "MAIN" file
tree now, even if the tree field is blank.
MESSAGE BASE
One last conflict between two nodes saving/tossing messages has
been resolved... no more halts or delays.
The "From" name is now checked properly using uppercase so that
messages "Not From User" are screened out properly.
USER EDITOR
No more having to rebuild conference HI/LO, etc, after editing a
user record! We found the stray pointer.
New utilities to import/export KBBS user databases has been
added.
SEQ ADDITIONS
ATTACHEDFILE :string (variable)
Allows access to the name of the file attached to the current
message. Only a 12 character name is allowed (name and
extension) since the file must always reside in the ATTACHPATH
directory (ATTACHPATH is a variable of type Path).
ATTACHEDREALNAME :string (variable)
This is the real name of the file attached to the current
message. Because two files with the same name could be
attached to different messages, one or both must be renamed
before being stored in the ATTACHPATH directory. The real
name is stored in this field, and is used to rename the file
back to its real name when retrieved from the attach directory.
QUEUEFTSPOLL( <address>, <echomail> );
<address> is of type string, in a standard fidonet address
format of x:yyy/zzz, and <echomail> is of type boolean.
This adds a poll request to the queue for the specified
address. If <echomail> is TRUE, echomail will be delivered
with the poll event.
FREQFILE( <address>, <priority>, <name>, <password>, <date> );
<address> is of type string, in a standard fidonet address
format of x:yyy/zzz, <name> and <password> are of type string,
<date> is of type date, time or integer.
<priority> is of type CHAR with possible values of
"I" immediate
"C" crash (direct, economy time)
This adds an FTS File REQuest to the FTS queue to the above
address, or adds the request to an entry already in the queue
to the specified address.
If no password is needed, use "" (nul). If no date is needed,
use 0 (zero).
SENDFTSFILE( <address>, <priority>, <path>, <deleteafter>, <message> );
<address> is of type string, in a standard fidonet address
format of x:yyy/zzz, <path> is of type string. <priority> is
of type char:
"I" immediate
"C" crash (direct, economy time)
"H" hold
<deleteafter> is of type boolean: TRUE=delete the file after
a successful transmission. <message> is of type boolean: TRUE=
send a message header to the sysop of the remote system notifying
of the enclosed file(s).
Adds a SENDFILE command to the queue. If a queue entry already
exists to the above system, the sendfile is added to the
existing entry in order to combine dialout events.
EXECNEXTQUEUE;
Executes the next FTS outbound queue entry, if any. The
current node MUST have a modem installed for this command
to be successful. Because a queue execution results in a
recycle of the current node, this command terminates all
SEQ execution and disconnects the current online caller,
if any.
SEQ PROGRAM EDITOR
A second "Close" option has been added to the File menu, and some
messages hinting to close files if running out of memory.
Other FIXES AND ADDITIONS
Message quoting has been dramatically improved in this version.
When a local mode user runs out of time, things now recycle/
shutdown properly.
Text mode is now restored at the end of a RIP session.
A ClearScreen is now issued before any ANSI screen menu containing
highlight bars to insure that they are positioned correctly.
Non-standard modem addresses and ports are now NOT case sensitive.
When LOADUSER fails to find the specified user, KBBS will
automatically initialize an empty user assuming a "New User"
posture. This should solve some problems with improper information
getting stored in new user records.
ZMODEM/8K
Until we can narrow down the slipping blocksize problem with
KBBS's internal Zmodem/8K, it will automatically detect the
problem and revert to regular Zmodem after the 2nd attempt...
in our tests, this seems to recover and proceed with the
transfer with minimal delays.
2.00Z.20E Test Release
---------
USER DATABASE/ACCESS CHANGES
The last read mail pointers and other supplemental records are
now only loaded when needed, so the login process is a LOT faster,
and the LOADUSER, FIRSTUSER and NEXTUSER functions are also a
LOT faster. There will be a slight pause the firsst time the
pointers are accessed (when beginning to read a message, etc.)
while KBBS loads the pointer records, but under normal operation,
this shouldn't be very noticable.
The NEXTUSER function is now functioning, and the USERDB program
by Todd Powers is now functioning because of our bug fix.
That USERDB.SEQ is HIGHLY RECOMMENDED and distributed with the
KBBS archives. Fine work, Todd! Send us your resume. <g>
The VBBS user database import has been completed.
The Maximus user database import has been completed.
FTS CHANGES, ADDITIONS, IMPROVEMENTS
*** READ THIS, IMPORTANT CHANGES HAVE BEEN MADE ***
The FTS setup code has been broken away from the main setup
utilities to provide it with more memory to function properly.
(Note: all executables will be recombined with the release
of the DOS protected mode and OS/2 versions, Z.21)
Instead of using the outbound password defined in the EVENTS, a
new picklist has been created to define all outbound passwords.
The picklist is also used to lookup commonly used addresses
by recipient name. This has been placed in all outbound FTS
windows, and SEQ commands and functions to scan the list
have also been added (see SEQ ADDITIONS below).
KBBS now uses the session password defined in the above outbound
list in the EMSI and YOOHOO headers when receiving calls.
The nodelist search engine has been given a shot of speed... it'll
now search the big Fido nodelist in a few seconds instead of a
few minutes.
FIXES, UNCATEGORIZED
Misc. misplacements in various screens in the utilities have
been fixed.
Another strange crosslink between Files/KB allowed per period and
Bytes/time credit for messages posted has been fixed.
The DOS Shell function will now look for the proper COMMAND.COM
on systems with more than one operating system installed.
The ANSI highlight bar menus won't crash now when the menu screen
options don't match the underlying menu configuration (so items
on the menu may be disabled for certain users, etc).
Stray @ signs shouldn't appear in ANSI menu screens now... fixed.
Display screens with complex pipe codes will now work properly
instead of truncating and scrambling them.
FIXES, FILE SECTION
Problems with uploading have been fixed, such as name recognition,
etc., althought the new upload processor didn't make it for this
test release.
The slash "/" has been included in the word parser for the Ksearch
rebuilder so that words like "OS/2" can be keyworded.
The following structure description file will now import:
3DVCP22.ZIP 3DVCP22.ZIP Visual Calendar Planner 2.2 for Windows
!>ASP An extremely powerful scheduler with
!>no learning curve. MS Database engine.
!>3d look
ADJSHARE.ZIP ADJSHARE.ZIP AUTOGRAMMATIK I: Adjective endings <ASP>
!>probably contains one of the most
!>succinct explanations of German
!>adjective endings you will see anywhere.
!> Online dictionary too. Viel Spass!
AJEWISH5.ZIP AJEWISH5.ZIP A Jewish Mother's Cookbook V 5.0 <ASP>
!>Anyone who's interest in Jewish recipes
!>will love this cookbook! "2 Thumbs Way
!>Up" J Binder
(the above example should be justified to the left, but is indented
for this document only)
ADDITIONS, UNCATEGORIZED
A "Toggle Status Bar" has been added to the SEQ key functions.
SEQ ADDITIONS
FTSLOOKUP :boolean (function)
Works from the current message header information, searches for
the current MESSTO in the outbound password list and sets the
FTS Destination and password if found. Returns TRUE if found.
ADDFTSLOOKUP;
Adds the current message header information as an outbound
lookup entry, specifically the MESSTO name, the FTSDEST address
and the password. After issuing this command, the FTSLOOKUP
function will retrieve the address and password when the name
is provided. Note: this command does not look for the
existence of an entry before adding the current one, so dupes
will be added if FTSLOOKUP isn't polled first.
UPDATEFTSLOOKUP;
Similar to ADDFTSLOOKUP, this command works from the current
message header, except it simply updates the information in
the lookup database with the information in the header. That
means if someone has changed the address or password on
the destination system, the entry for that name will be updated
in the lookup table. If the name is nul/blank, the specified
address is searched and the password is updated. If the entry
is not found in the list, a new one is added with the
information in the current message header.
2.00Z.20D Test Release (includes Z.20B and C)
---------
RIP FIXES/IMPROVEMENTS
The local RIP graphics now support any VESA superVGA card.
If the display is not detected as supporting EGA modes, VESA
800x600 mode will be selected, and the RIP screen (640x350)
will be shown in the upper lefthand corner. This should
enable proprietary cards with software VESA drivers to
display local RIP graphics.
Local mode RIP fonts should now work in any environment.
The ANSI to RIP converter is now faster and much more accurate.
The ANSI to RIP scrolling has been eliminated. When text reaches
the bottom of the screen, the screen is cleared and text begins
again at the top.
FILE AREA FIXES/ADDITIONS
A complete rewrite/overhaul to the file utilities has resulted
in much more stability. Testing will tell, however.
OTHER FIXES/ADDITIONS (UNCATEGORIZED)
The display file output engine now performs a fast read and
allows the disk to settle before the file is sent to the
modem. This results in an overall faster display from the
callers' point of view.
The "Chat" SEQ Key has been expanded to include an optionally
definable text file that will be displayed, if present, to the
user before entering chat mode.
SEQ Program execution has been cleaned up so that no more
lockups or mis-executions happen. This includes
- SEQ keys
- internode commanded SEQ's
- executed from menu trees
- the CALLSEQ command
- the CHAINSEQ command
- SEQ events
- many other places
The global configuration is now being updated properly when
the related SEQ variables are altered (i.e. couldn't change
the total number of calls on system)
The compiler now skips TAB and control characters in the
source file.
If no default is specified in a menu, the highlighted bar
is properly selected when the ENTER key is pressed (for ANSI
mode menus)
When a user runs out of time, the modem is now flushed properly
instead of locking up some systems.
The hangup process should be working properly now. (It was
locking up some machines if the user ran out of time)
The line editor default menu is now set to Save instead of
Continue.
The login process has been corrected for alias nodes to state
"Is your alias spelled correctly?" instead of "name."
The internal file copy routines will no longer use XMS or EMS
memory if running under OS/2. This speeds up the copy operation
by keeping OS/2 from enlarging the swap file, etc.
In Setup, Nodes, the Line Monitor toggle is now working, and
the USE FIFO toggle is no longer crossedlinked with it.
Changes made to the global setup from within the SEQ are
now saved to disk properly.
The recursive archive setup field is now pointing to the
correct data.
The "Upload Text" function in the full screen editor no
longer wraps long lines in order to preserve ANSI screens.
The distictive ring initiates a recycle if the incorrect
ring is detected.
FTS FIXES AND ADDITIONS
The last scanned pointer file system has been changed to match
the speed and reliability of the regular last read pointers
in the main BBS. Hence, this is a one-way upgrade, but more
stable than previous versions.
BIG BUG: If an incoming FTS caller was using an address of
0:0/0, the first record in the FTS User list was selected
(because of the blank secondary address fields) and their
mail was delivered to the anonymous caller... this has been
fixed!
The magic name processor for FTS file requests will now handle
wildcards within a magic name setup properly. Previously they
were being rejected as not found.
Global FREQ directories are now working properly.
The FTS User "Pause" toggle is now working correctly.
DOOR ADDITIONS
Three more door drop file types have been added:
Code BBS type Filename
8 Pheonix INFO.BBS
9 Spitfire SFDOORS.SYS
A 2AM JUMPER.DAT
SEQ PROGRAM EDITOR
We have rebuilt the SEQ program editor again and eliminated the
Turbo Vision libraries. The result is a less buggy editor with
less memory constraints and the ability to open unlimited files
simulteneously when we release the protected mode (Z.21)
version.
Additional fixes were made to the editor window to allow the
menu bar to remain visible at the top in 80x25 text mode, and the
editor window's side lines have been eliminated to expand the
editable region by 2 more characters.
CORRUPT INDEX DETECTION
The balanced trinary tree engine that keeps track of just about
everything in KBBS now has a corrupt index detection subroutine
that will keep KBBS from locking up if an index file is corrupt.
Because of the frequency in which this routine is called, we're
currently unable to pass the corruption status to the sysop, but
it simply shuts down the tree processes, ignoring the read/write
requests... if you notice that KBBS isn't finding files, blocking
dupe messages, finding users, etc., then rebuild that particular
index. We'll be adding some kind of status passing method
at a later date.
We tested this pretty extensively by removing lock control from
the indexer and allowed 5 nodes to write to the index
simluteneously, corrupting it to bits... KBBS eventually ingored
the index, where before it would have locked up tight.
ANSI HIGHLIGHT BAR MENUS
When using ANSI display screens for menus (in the "Sysop
defined display menus" in the menu tree or the optional
display screen parameter for the MENU statement) a new
@ code sequence may be added to the ANSI screen to enable
KBBS's internal highlight bars on the ANSI screen itself.
In each location where you want a highlight bar to be
displayed, the following @ code syntax must be used:
@xyBF~key@ 1. Normal Menu Text goes here @end@
where
x the menu column, a number between 1 and 4 inclusive
y the menu row, a number from 1 to 9, then A (10)
to I (18)
B the highlight bar background color, 0 through 9 and
A through F
F the highlight bar foreground color, 0 through 9 and
A through F
key the key that activates the menu selection,
corresponding to the actual menu configuration in the
menu tree or MENU statement. If this key doesn't
exist in the menu configuration, the user will be able
to highlight the selection but not actually select it.
If a select exists in the menu configuration but not
defined on the ANSI screen, the user will be able to
select that option by pressing the keys directly.
(After a long night of working on this, I think I've
lost my English... I'll come back and try to explain
this better at another time.)
Note: when assigning the x and y values, make sure they are
contiguous. For example, KBBS won't skip from column
1 to 3 if column 2 doesn't exist.
Each highlight bar terminates at the @end@ or at the end of
the current ANSI line, whichever comes first (NOTE: "@end@"
must be in upper case, but shown here in lower case so this
file may be posted online).
When the ANSI screen menu is displayed (it must be a display
screen with an extension of .ANS), if any highlight bar codes
exist in the menu, the highlight bar option is automagically
activated. A highlight bar will be placed on the default
menu selection, or on column 1 row 1 if no default was
defined. The left-right cursor keys transvers the columns
and the up-down keys transvers the rows. The ENTER key will
then select the currently highlighted menu item.
This whole process adds a small delay before any ANSI menu is
displayed.
(A sidenote, a utility in ARIdraw will simplify the
construction of KBBS ANSI menus. We will be testing ARIdraw
with a limited number of registered sysops in October)
NEW SEQ RESERVED VARIABLES
SCROLLLOCK :boolean
NUMLOCK :boolean
CAPSLOCK :boolean
These three variables poll for and set the state of the
scroll lock, num lock and caps lock respectively. This
only affects the hardware running the current node and
has no affect on the remote caller.
NEW SEQ COMMANDS AND FUNCTIONS
STRIPANSI( <instring> ) :string (function)
<instring> is of type string.
Returns a string of the parameter with the ANSI codes removed.
Does not account for any cursor movement sequences EXCEPT the
Cursor Right (C) sequence, which is converted to spaces.
2.00Z.20A Test Release
---------
LEFT OUT: Due to the time taken to get our system back up,
we just removed major new additions that had problems
rather than delay the release any longer. The following
will be debugged and ready for the next release:
- New highlight bar based file, door, bulletin and
conference trees
- ANSI screen highlight bar menus
- new upload processor... the new upload processor was
having problems so we put the old code back in for
this release. A follow up patch release will come
soon that will have the new code fixed, which
includes the .TIC support working and the file
utility level upload processor.
IMPORTANT FTS CHANGE MADE:
The FREQ directory no longer exists, but has been replaced
by a picklist setup of directories. You must enter your
old directory in the new list for these types of FTS file
requests to resume operation.
SEQ ENCRYPTION
(testing this encryption is critical... please report any SEQ
FAULTs that any occur, and how to reproduce them)
To protect against the threat of a SEQ executable decompiler,
we have added a statement:
SEQENCRYPTION "<encryptkey>"
<encryptkey> is any number of characters placed between a set of
double quotes. Characters not allowed in the encryption key:
" (a double quote, used to terminate the key)
(* or *) comment characters
{ or } comment characters
/* or */ comment characters
Examples of valid encryption key statements:
SEQENCRYPTION "This is my encryption key!!"
SEQENCRYPTION "908734 923 498249823498239 87239 8723"
SEQENCRYPTION "ùí½╡ñº¿Æ£░║─äåçΩ±√ÇüGQ\"
SEQENCRYPTION "It was Andy's fifth birthday and his parents
were getting ready to take him out for a movie. His
mother told Andy to pack a snack for himself in her purse
to have during the show. The mother assumed he'd put
in a granola bar or cookie...Later, in the theater, Andy
leaned over to his mother and whispered...'Mom, may I
have my ice-cream sandwich now?'"
This must come absolutely first in the SEQ program, before any
DEFINE, STRUCT or any other statements except comments.
Encrypted SEQ programs may call non-encrypted SEQ's and vice-
versa. SEQ execution speed is not affected by the size,
presence or absence of an encryption key.
Z.20 or later is REQUIRED for all encrypted SEQ programs, or
KBBS will abort with a SEQ Program Fault. A SEQ is not
encrypted (other than the usual compression) if the
SEQENCRYPTION statement isn't present. Z.20 and all versions
in the future will still execute SEQ's from all past versions.
INTERKERNEL
The internode kernel has been reworked to work faster and not
cause exception errors on some systems, specifically those
running OS/2 (our shared-memory trick wasn't working with
some versions of Warp the way it was supposed to).
FIXES
The internode chat should be working properly in this release...
File locking conflicts in message importing have been resolved.
ANSI reading online has been fixed.
The PCBOARD.SYS drop file type is now working correctly.
New full screen editor code in this version... no more wrapping
line problems, lines left behind, extra lines, etc. etc. etc.
The ESCAPE key in the editors' menus doesn't save the message.
The LASTMAINBULL and LASTBULL variables, if altered, will now
be properly updated in the user record on the next call. When
accessed, these variables always return the date/time of what
they were set to on the LAST call.
Sometimes if an error occurred online, KBBS would drop to the DOS
prompt rather than recycle. This has been fixed.
FOSSIL support has been reverted to its state before Z.19. The
fixes we made evidentally made QEMM systems abort and some DOS
systems lockup.
The parallel file that now holds personal mail flags was being
enlarged improperly, flagging users for mail in conferences
where they didn't have any. This has been fixed.
IMPROVEMENTS
The limit on the maximum dials and failures for FTS mailer
calls has been increased to 255. We still don't know why
it was limited to 20.
The highlight bar in the dynamic menus show up regardless
of a default menu option.
Message passwording has been completely removed due to lack
of support from QWK and other offline message formats. The
reserved variable MESSPW is still support, although it always
returns NUL and assignments are ignored.
FTS ADDITIONS AND IMPROVEMENTS
The Global FREQ directory and password have been replaced by
a picklist of File Request Directories in the FTS Setup menu.
.... LAST MINUTE NOTE: The .TIC test crashed a machine with the
release version, so we disabled functionality for the
TESTZ20A version. We will diagnose the problem and
release follow-up patch with this support enabled.
Basic receive-only .TIC file support has now been added. TIC
files are simply placed in their proper file subjects as
defined in the new .TIC file setup. .TIC hatching and echoing
will follow in the next test version. The setup for this is as
follows:
- In the FTS SETUP menu, a new picklist named .TIC
AREA SETUP defines what file area subjects .TIC files
are placed in when received.
- In the GLOBAL FTS SETUP, the .TIC UNDEFINED AREA
field defines where received files are placed if
they don't match any of the defined TIC subjects
The FTS Send Files process both in the FTS menu and in the
Event setup now contains a toggle to optionally send or not
send the "The following files have been sent" message to the
destination sysop.
A new field has been added to the FTS User setup (which requires
upgrading to the database) that allows you to define ALLOWED
AREAS. Toggling off the areas in that picklist make them
invisible to that FTS user--they don't show up in Areafix lists,
and the user isn't allowed to turn them on, etc. All toggles
default to ON.
Tossing of KBBSFido (areafix) packets is done immediately when
received, and the reply packet is immediately sent to the sender
in the same session.
New areafix support has been added, replacing the old, faulty
and inadequate support. References to "Areafix" have been
changed to "KBBSFido" due to potential trademark issues with
the name "Areafix." The following is the help reply that you
get when you send a message of %HELP to the new AREAFIX:
Address all requests to 'KBBSFido', 'Areafix', 'GEcho',
'AreaMgr' or 'ConfMgr' (without quotes). The subject
should contain your Areafix password.
In the body of the message:
[+]<areaname> Turn ON an area (wildcards allowed).
-<areaname> Turn OFF an area (wildcards allowed).
%HELP This help text is sent.
%LIST Reply with a list of areas available.
%QUERY Reply with a list of ON areas.
%UNLINKED Reply with a list of a OFF areas.
%PWD <password> Change your AreaFix password.
%PKTPWD <password> Change your Packet password.
%RESCAN <mm/dd/yy> Rescan all ON areas starting with specified date.
%PAUSE Suspend all scanning.
%RESUME Resume all scanning.
[---] An optional tear line may be added. Everything
below the tear line is ignored.
An example of an KBBSFido request:
From: Your name
To: Areafix
Re: Yourpassword
-------------------------------------------------
+ARI*
-ARI_OFF_TOPIC
%LIST
%resume
%ReScan 08/14/95
ADDITIONS
The line monitor has been permanently attached via a toggle
in the modem setup
An INSERT mode indicator has been added to the top of the
full screen editor.
Four new conference level fields, and SEQ variables
representing these fields have been added:
EMPTYSUBJECT :boolean
For USEnet newsgroups and other special needs conferences,
this allows messages without subjects to be saved in a
conference if set to TRUE.
FORCETOALL :boolean
For USEnet newsgroups and other special needs conferences,
KBBS forces the TO field to "ALL" if set to TRUE.
FORCEANON :boolean
For special needs conferences, the FROM field is forced
to "ANONYMOUS" if TRUE.
FREEFROM :boolean
For special needs conferences, anything is allowed in
the FROM field if set to TRUE.
2.00Z.19D QUICK FIX
---------
FIXES
All carriage returns were being stripped from messages in
QWK packets.
The message reader had major problems... now fixed.
The chat engine would ignore the local keyboard or anything
transmitted from a remote node, unless operating in local
mode.
2.00Z.19
--------
ENCRYPTION
The user database encryption has not been installed. This
version will startup first by prompting for an encryption
code and then encrypting the user database. The entire
user database is encrypted with this key, so DON'T LOSE IT.
ADDITIONS
New fossil support has been added to better detect and handle
fossil drivers under Desqview and other multitaskers.
Exceptions have been added to the FTS netmail routing that
allow routing to a certain node for certain zones/nets except
mail to certain nets and/or nodes.
A Flag Files option has been added to the menu tree.
The dynamic menus have changed considerably. They are now decent
and presentable (unlike the previous crummy menus) and have the
following features:
- in ANSI mode, cursor keys may be used to select the menu
using a highlight bar. The spacebar also moves the highlight
bar around the menu
- They are now under control of the MENUPALETTE command...
see below.
There are some systems that, in upgrading from version to version
for months, the serial numbers that keep users from receiving their
own messages have been corrupted. A re-serialize utility has been
added to the USERS menu in the sysop utilities to reserialize the
user database, FTS users and QWK .NET files.
FIXES
Messages with long lines are now handled properly.
ANSI is now maintained properly between all mail mediums in
conferences that allow ANSI.
Online message passwording has been removed, since QWK/FTS
mail doesn't provide for any security on a message-by-message
basis anyway.
External protocol parameter replacement has been fixed.
PERSONAL MAIL FLAGS should be working now! it was a dumb programming
error that caused this one... just one that was hard to find.
Another small bug in the internal Zmodem might have caused problems
sending large files, but unsure about this.
Problems with the COMPILE command line parameter have been fixed.
The problem with infinitely expanding bulletin files has been
fixed... although more testing will prove this.
To keep problems from occurring when using the LOADUSER,
FIRSTUSER and NEXTUSER functions, time is suspended until
the STARTUSER command is issued, if ever. This makes it
so temporary loads of other user records don't subtract time
from them. NOTE! The new variable SUSPEND (boolean) controls
whether or not time is suspended. If you use LOADUSER to
retrieve another user's record, then restore the current user's
record back with another LOADUSER command, you must set SUSPEND
to FALSE!
The PCBOARD.SYS drop file set has been fixed.
The CHAIN.TXT drop file has been fixed to put the correct
name in the Real Name field.
The optional file flagging failure screens are now working
properly... testing will prove whether this is true.
External protocols should be working again, although not
completely tested.
The ALT-M (Move Files/Subjects) in the file tree has been fixed.
The CHOOSEPROTO command's optional parameter will now correctly
display an ANSI, RIP or ASCII file in place of the generic menu.
Files attached to inbound FTS messages are now left attached
properly.
In the Console Screen editor, the fields picklist (when adding
fields) would take some systems up to 30 minutes to sort the
list, giving the illusion that it was locked up. (Well, it may
as well have been locked up for all of the usefulness it had.)
The list is now presorted and displayed in 5 seconds on those
same systems.
The DELETE TAGGED FILES in the file tree is now working.
The "Run user database packer in foreground" is now working.
The "Shutdown KBBS" event will now properly leave the modem
off hook according to the settings.
The ALT-R in the event setup will now execute any event.
Some problems causing QWK prescans to not launch have been fixed.
Timeslices weren't being yielded properly in the dialer... this
has been fixed.
Bad ratios are now actively enforced: users can no longer flag files
that will exceed the bad ratio (except free files, of course).
Before, KBBS would let them flag forever then drop their access
on the next call.... this was causing some problems and a rewrite
was necessary to fix the whole thing to work as advertised.
The LOADUSER, FIRSTUSER and NEXTUSER functions have been fixed
to reset node status variables properly.
We FINALLY found a bug in the Zmodem that would cause certain
terminals to not recognize the autostart sequence... stupid
prgrammer error.
The status bar toggle has been fixed.
Exported NET REP packets and other packets are now producing packets
without corruption. (We found that on systems with less than 262K
of EMS or XMS available at initialization of a NEW .REP packet, KBBS
was dumping exactly 16256 bytes of garbage after the REP header.
This has been fixed.) This was a virtual memory management problem
and could have affected other areas in unpredictable ways that we
may not have recognized.
The Ksearch rebuilder is now working properly. Two crucial files
were left incomplete that would cause the actual search to return
a result of 0 files found.
The screen object switcher has been fixed so that crashes don't
occur when executing SEQ keys and other SEQ programs chained from
edit screens, message reading, menus, editors, etc. (Field
testing will prove whether this was really fixed or not....)
Problems with sharing the dupe message index between nodes has
been fixed.
EXECUTABLE CHANGES
The KBBSPROG, KBBSFILE and KBBSUTIL programs have been modified to
include their own initialization code, which means you can execute
them directly. Parameters are ignored. The purpose of this is
to reduce memory requirements even further on cramped systems.
Parts of these modules are still called from the main KBBS.EXE
when necessary, and all KBBS parameters remain the same.
KBBSPROG: just like entering PROGRAMMING from the sysop utilities
KBBSFILE: just like entering TREES, FILES from the sysop utilities
KBBSUTIL: just like typing KBBS at the prompt with no parameters
IMPROVEMENTS
When adding conferences, the default number becomes the next unused
conference number after the last conference added.
The SEARCHFILES command (with the Ksearch index) has been modified
to NOT ask "view the list" when files are found. Instead, the
number of occurrances found are placed in the title at the top
and the list is displayed immediately.
The conference list loader has been sped up a little to reduce the
delay before the conference list is displayed.
The spinning cursor thread's speed has been increased to give the
effect of more going on during certain waits. (Yes, it's silly)
If only one conference is setup for scanning and it's the current
conference, the conference list is aborted and the above conference
is selected automatically for reading. If no conferences are
configured for scanning, the current conference is automatically
selected.
NEW VARIABLES
COMPRESSED :boolean
Set this to TRUE for compressed dynamic menus, set it to FALSE
for normal dynamic menus.
SUSPEND :boolean
If set to TRUE, time stops counting down for the current user.
The LOADUSER, FIRSTUSER and NEXTUSER commands set this to TRUE.
The STARTUSER, LOGIN, etc. commands set this to FALSE.
REPLYQUOTE :string[3]
Up to three characters to be used by EDITMESSAGE following
REPLYMESSAGE to quote the current message. It is set to
the message author's initials and the ">" character when
REPLYMESSAGE is called, but may be changed at that point
before calling EDITMESSAGE to use a different quote prefix.
NEW SEQ COMMANDS AND FUNCTIONS!
MENUPALETTE( <c1>, <c2>, ... <c16> );
All 16 parameters are of type byte.
Note: all 16 parameters are required!
This command changes the color scheme used by all subsequent
dynamic menus. 16 parameters are required, defined as follows.
In the current version, this only affects ANSI menus. RIP links
will be made to this command for the next version.
Min Max Default
c1 = title foreground 0 15 15
c2 = title background 0 7 7
c3 = screen background 0 7 0
c4 = menu key foreground 0 15 9
c5 = menu key background 0 7 7
c6 = menu description foreground 0 15 0
c7 = menu description background 0 7 7
c8 = menu border 0 7 7
c9 = menu shadow 0 15 8
c10 = Selected foreground 0 15 15
c11 = Selected background 0 7 1
c12 = reserved, should be set to 0
c13 = reserved, should be set to 0
c14 = reserved, should be set to 0
c15 = reserved, should be set to 0
c16 = reserved, should be set to 0
The color values are the standard DOS RGB as follows:
Black 0 Blue 1 Green 2 Cyan 3
Red 4 Magenta 5 Brown 6 LtGray 7
DarkGray 8 LtBlue 9 LtGreen 10 LtCyan 11
LtRed 12 LtMagenta 13 Yellow 14 White 15
LISTPALETTE( <c1>, <c2> ... <c16> );
This is exactly the same as MENUPALETTE, but governs the colors
in the lists. Although programs using this command in this version
will compile and run, this command has been left unlinked until
more testing is performed. (i.e. it has no effect in this version)
More information will be posted in the following version when it
is operational.
REGISTERINDEX( <index>, <description> );
<index> is of type filename, <description> is of type string
This command is used to "register" or make KBBS aware of a
collection of indexes to use in subsequent index commands
and functions, such as SEARCHFILES(%); where % represents
all of the indexes registered using this command. <index>
is the name of the index, and <description> is a name or
description of the index to display to the user, and has
a maximum valid length of 70 characters. If an index already
exists in the list by the same name, the command is ignored.
This command is GLOBAL, meaning registered indexes are
valid for all subsequent SEQ programs in a session, not
just for the current index.
If no indexes have been defined, and the % parameter is
used in index areas, the "MAIN" index is assumed.
CLEARREGISTER;
This command clears out the list of indexes defined by calls
to REGISTERINDEX. If no indexes have been added using
REGISTERINDEX, this command has no effect. If the %
parameter is used with no indexes defined, the MAIN index
is assumed.
PAGING( <nodenum> ) :boolean
<nodenum> is of type byte.
This function returns TRUE if the user on the remote node
NODENUM is currently paging the sysop.
CHATWITH( <nodenum> );
<nodenum> is of type byte.
Performs a private, one-on-one chat with the remote node number
<nodenum>. This is identical to the direct sysop chat (defined
in the SEQ keys) but is between two users that are online.
KBBS will attempt to connect and chat with <nodenum> for 15
seconds before timing out and aborting. No message is displayed
to the user during connection protocol establishment.
EXTENDED COMMANDS
The following commands have been extended to use the % parameter
in place of the <index> in order to make use of multiple indexes
defined by the REGISTERINDEX command:
FLAGFILE( <index>, <file> );
Example: FLAGFILE(%,'FILELIST.ZIP');
When flagging <file> using an <index> of %, the first occurrance
of <file> in the list of indexes will be flagged.
DOWNLOADBATCH( <index> );
Example: DOWNLOADBATCH(%);
The normal process of this command is to prompt the user to
enter additional filenames to include in the download batch.
The first occurrance in the list of indexes of any files
entered by the user will be flagged.
SEARCHFILES( <index>, <searchspec> );
Example: SEARCHFILES(%);
This command has been extended to search through all of the
indexes defined using the REGISTERINDEX command.
IMPORTANT NOTE: when using SEARCHFILES with multiple indexes,
the Ksearch databases MUST exist for the specified indexes...
the slow search is NOT performed unless only a single index
is specified or registered!
In the menu tree (Trees, Menus), the DOWNLOAD BATCH function that
may be defined as a menu selection may also use multiple indexes
by using % as the name of the index.
Z.1818
------
FIXES
The doors are now working properly
The loss of global setup information has been fixed when KBBS
switches between modules (specifically, the loss of CD ROM setup)
A crash problem when overflowing time/date fields (the sysop
utilities) has been fixed.
Some work has been done to last read mail pointers, personal mail
flags, security level movement and the user database editor,
indexer and other areas. If you were having problems with empty
users showing up in the user database editor, reindex the users
and it they should disappear.
ADDITIONS
A new path index corruption rebuild utility has been added to
put files back online after a major corruption or major hard
disk reconfiguration.
A utility to delete all files in the index with a specific CD
ROM id has been added... to take old CD ROM's out of the index.
Z.1817
------
ADDITIONS
KBBSDIAG has been integrated into the sysop utilities archive
and is now activated by typing KBBS DIAG at the prompt. It's
a faster version that the old KBBSDIAG, but it still produces
a KBBSDIAG.LOG that we request that people with problems upload
to us.
Support for the TRIBBS.SYS door drop file has been added
To assist some old-Rockwell chip based modems send commands
properly, the COMMANDWRITE command has been altered to send
the characters to the modem with a 3 millisecond delay between
each character. No other modem I/O is affected by this.
The ALT-R "Run Door" key in the door setup will now execute the
SEQ's defined to execute before and after the door, so the
sysop can get the full picture of the process.
FILE AREA AND UTILITIES
File flagging should work in long lists the wrap back to "A" and
previous wrong-file flagging has been fixed (run the Name Index
rebuilder if it's still happening on your system with this version).
A lot of recoded utilities are being placed online in this version,
specifically the rebuilders and some of the online stuff in order
to add stability and speed to these areas. New utilities will be
added in the following version(s).
NOW RELIABLE: The COMPLETE REBUILD has been recoded for higher
speed and MUCH better reliability... especially to NOT corrupt
the original copy of the index.
A more reliable CD ROM identifier has been added, which will better
distinguish between different disks. The odds of two CD ROM's
reporting the same ID number is now one in 16 million. An ID
override has been added just in case you still beat those odds.
A utility has been added to quickly change the ID in the index
for all of the files on a CD ROM.
A toggle has been added to the Global Toggles to set AUTOMATIC
or MANUAL CD ROM scanning.
1. In Automatic scanning mode, KBBS uses its internal CD ROM
ID method for determining which CD ROM is online.
2. In Manual scanning mode, the sysop may assign CD ROM ID's
and a picklist screen is used to assign which CD ROM is
currently in the drive(s).
All CD ROM utilities and setups have been put in the index menus,
even though they are settings that apply to all file indexes.
A new utility has been added to the CD ROM section to change files
in the index to point to a different CD ROM drive. Because this
version changes the CD ROM identification method, you will need
to run this utility on all of your CD ROMs. (It's pretty fast)
And your CD ROM's should stay online properly from now on.
IMPROVEMENTS
The pointers are now updated upon logoff after a QWKcrash session
to save QWKcrash callers the extra seconds it takes to update
pointers after the packet has been sent.
Drives A and B are ignored by the file utilities, to prevent the
"insert disk for drive B:" problem on single drive systems.
BUG FIXES
The ALT-F1 DOS Shell will now return properly without messing
up the screen.
An additional fix keeps pointers updated actively while a user
reads online. This should wrap up this problem once and for all.
Time left is now properly updated if a user drops carrier while
in a door or other external process.
The local run option (ALT-R) in the door editor is now linked
and running.
The problem with long FTS origin lines has been fixed.
The last read pointers are now being updated properly for
callers that read mail online.
Conference are now deleted and marked as deleted properly.
File locking problems in various places has been fixed.
The color attribute is now forced to $07 when shelling to DOS.
SHARE is now being detected properly (although it is used when
no other record locking driver is detected, KBBS would run
without it and reporting "Node x in use")
The DCE rate is now properly placed in the DOOR.SYS file.
NEW SEQ COMMANDS AND FUNCTIONS
LOADUSER( <username>, <aliasmode> ) :boolean (function)
Loads a user record, pointers and setup files
<username> is of type string
<aliasmode> is of type boolean
Searches for and finds the user <username>. If found, the
current user record, pointers and setup files are updated to
disk, and the user record, pointers and setup files for the
specified user are loaded, becoming the user that's currently
logged in and online. Modifications to the user variables
are then made to the newly loaded user's record, pointers and
setup files.
If <aliasmode> is TRUE, KBBS assumes <username> is an ALIAS,
otherwise <username> is a REAL NAME. This function returns
TRUE of the user was found in the database and the user's
record, pointer and setup files were loaded. If not
successful, no user record will be loaded.
NOTE: For replacement login sequences, simply loading a user
with this function does not complete the login process!
To complete the login, you must call the STARTUSER
command, which loads the security level and session
startup values.
FIRSTUSER :boolean (function)
NEXTUSER :boolean (function)
Loads user records, pointers and setup files sequentially.
These are functional equivilents to LOADUSER, except FIRSTUSER
loads the first user in the database, and calls to NEXTUSER
load the next user after the previous FIRSTUSER or NEXTUSER
call. Both functions return TRUE if the operation was
successful. FIRSTUSER should always return TRUE, unless the
user database is corrupted or deleted.
STARTUSER;
Initializes the security level and session startup values
for a user that has just logged in. Time is reduced for
upcoming events, and security access to the current node
and schedule is checked. This command MUST be called
after the LOADUSER function if LOADUSER is used to replace
the standard LOGIN commands.
UPDATEUSER;
For data integrity, this command saves the current user's
record, pointers and setup files to disk. Because this
data is updated to disk upon logoff, this isn't necessary
except in conditions where power outages, etc, might cause
the system to go offline prior to a proper logoff. This
command has no effect if the user record, pointers or
setup files have not been modified. This command is ignored
if the current user online is new and an ADDUSER command
hasn't been executed.
DELETEUSER;
Deletes the current user from the user database and clears
the current user record (i.e. no user will be online after
this command is issued). This command has no effect if no
user is currently online.
WRITEUSERLIST( <filepath>, <aliasmode> );
<filepath> is of type path.
Creates a text file named <filepath> and outputs a sorted list
of user names to the file, closing it afterward. This is the
only method for quickly obtaining a sorted list of the users
in the database.
DROPFILE( <bbstype>, <destination> ) :path (function)
<bbstype> is of type char
<destination> is of type path
Creates a door drop file of type <bbstype> at <destination>.
The following are the possible values for <bbstype>:
'1' DOORFILE.SR
'2' DOOR.SYS (52 line)
'3' PCBoard v14.x (PCBOARD.SYS, PCBOARD.DAT and USERS)
'4' WildCat 2.0 (CALLINFO.BBS)
'5' RBBS (DORINFO1.DEF)
'6' WWIV (CHAIN.TXT)
'7' TriBBS (TRIBBS.SYS)
This function returns the full path to the drop file, if
successful.
WRITETEXTCH(...)
This is functionally equivilent to WRITETEXT, except a carriage-
return and linefeed are not added to the file, as with WRITETEXT.
See WRITETEXT
NUMCDS :integer (function)
Returns the number of CD ROMs defined in the CD ROM setup.
Use CDONLINE and CDNAME to access information about each
CD ROM.
CDNAME( <num> ) :string (function)
<Num> is of type integer
Returns the name of CD ROM number <num>. <num> must be an
integer from 1 to NUMCDS. If <num> is out of range, this
function will return an empty string.
CDONLINE( <num> ) :boolean (function)
Returns the online status CD ROM number <num>. <num> must
be an integer from 1 to NUMCDS. If <num> is out of range,
this function will return FALSE.
Z.1816
------
ADDITIONS
A rebuild/degragment utility has been added to conference
maintenance to rebuild corrupted setup and net status files (the
new format files) and to defragment them if they seem to be
running a little slow.
The current conference will appear on the conference list
regardless of whether it is configured for scanning. This will
help sysops that use the "Join" command to find the conference
they joined on systems using the CONFLIST in the read area.
A color editor has been added for changing the colors in the
sysop utilities. (See Setup, Global)
BUG FIXES
We found that systems with low conventional and XMS memory
didn't upgrade properly from pre-15 to Alpha 15. If you
suspect you're having pointer, setup or net status file
problems, rebuild those in conference maintenance with this
version and it should be fixed.
We finally found a clue to the Zmodem autostart problem some
people are having... some terminals are watching for the "rz"
signal instead of the 00000 etc. block start, and they only
look for the "rz" if it's at the beginning of the line. KBBS
now sends a carriage return before the "rz" to help those
terminals see light.
Although the new recoded file utilities aren't finished yet,
the CD ROM online/offline problem should be working properly
in this version. If not, we'll release a patch fix (we're
unable to test it properly here).
Local mode drop files will use 19200 for baud rate, regardless
of the current modem or node. (We chose 19200 becase 0 caused
problems with some doors, and 38400 with others. 19200 seems to
work everywhere, unless someone finds otherwise)
The DOS program execution code has been re-written and should
work in finding the path, swapping the proper code and data
segments and returning FROM the executed program without
problems... watch in case we're mistaken on this.
The Internode pipeline is now being launched properly.
The last read mail pointers are now being updated properly on exit.
On low memory systems, the pointers are now being properly updated
without crashing or ignoring the update request.
KBBS EXPORT will now properly append to an existing .REP. This also
affects QWK packet scanning on some low memory systems, where the
resulting QWK packet was corrupted, or messages were missing.
The upload credit for time is fixed (it's not giving thousands
of minutes of time credit for uploads anymore)
The drop-to-DOS in the sysop utilities has been fixed to
not mess up the interprogram screens.
The ALT-V in the File Utilities has been fixed.
KBBS will now accept FLAGPATH() parameters with wildcards, and will
not duplicate names in the batch (which also keeps FTS conflicts
from occurring).
The LOCAL=x parameter has been repaired.
The F1 popup help should work now in the sysop utilities.